package com.navinfo.tripanalysis.util;

import com.esotericsoftware.kryo.Kryo;
import com.navinfo.platform.score.TripScoreService;
import com.navinfo.platform.score.pojo.ScoreWeightCompiled;
import com.navinfo.tripanalysis.common.arithmetic.common.DrivingData;
import com.navinfo.tripanalysis.common.arithmetic.common.OuterEventData;
import com.navinfo.tripanalysis.common.arithmetic.common.OuterStatisticData;
import com.navinfo.tripanalysis.common.arithmetic.common.VehicleInfo;
import com.navinfo.tripanalysis.common.protocol.java.EventDataPb;
import com.navinfo.tripanalysis.pojo.AlgorithmOuterData;
import com.navinfo.tripanalysis.pojo.Point0F37;
import com.navinfo.tripanalysis.pojo.Point0200;
import com.navinfo.tripanalysis.pojo.Point;
import org.apache.spark.serializer.KryoRegistrator;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * @author 沈东生
 */
public class MyKryoRegistrator implements KryoRegistrator {
    @Override
    public void registerClasses(Kryo kryo) {
        kryo.register(Point.class);
        kryo.register(Point0200.class);
        kryo.register(Point0F37.class);
        kryo.register(OuterStatisticData.class);
        kryo.register(OuterEventData.class);
        kryo.register(HashMap.class);
        kryo.register(DrivingData.class);
        kryo.register(ArrayList.class);
        kryo.register(AlgorithmOuterData.class);
        kryo.register(VehicleInfo.class);
        kryo.register(EventDataPb.EventType.class);
        kryo.register(TripScoreService.class);
        kryo.register(ScoreWeightCompiled.class);

    }
}
